﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace StandardFeatures
{
    [Serializable]
    public class Kommune
    {
        public string Navn { get; set; }
        public string Vejnavn { get; set; }
        public int Husnummer { get; set; }
        public int Postnummer { get; set; }
        public string By { get; set; }

        public override bool Equals(System.Object obj)
        {
            // If parameter is null return false.
            if (obj == null)
            {
                return false;
            }

            // If parameter cannot be cast to Kommune return false.
            Kommune k = obj as Kommune;
            if ((System.Object)k == null)
            {
                return false;
            }

            // Return true if the fields match:
            return (Navn == k.Navn) && (Vejnavn == k.Vejnavn) && (Husnummer == k.Husnummer) && (Postnummer == k.Postnummer) && (By == k.By);
        }

        public bool Equals(Kommune k)
        {
            // If parameter is null return false.
            if ((object)k == null)
            {
                return false;
            }

            // Return true if the fields match:
            return (Navn == k.Navn) && (Vejnavn == k.Vejnavn) && (Husnummer == k.Husnummer) && (Postnummer == k.Postnummer) && (By == k.By);
        }

        public override int GetHashCode()
        {
            string allVariables;

            allVariables = Navn + Vejnavn + Husnummer.ToString() + Postnummer.ToString() + By;

            return allVariables.GetHashCode();
        }
    }
}
